/**
 * 
 */
package controller.cliente;

import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.event.ActionEvent;

import model.Cliente;
import controller.util.UtilTela;
import dao.ClienteDAOLocal;

/**
 * @author Daniel Petralanda
 */

public class AlteraExibeClienteController {
	@EJB
	private ClienteDAOLocal clienteDao;
	
	private String nome;
	private String logradouro;
	private String bairro;
	private String ddd;
	private String tel;
	private String pessoa;
	private String cpfcnpj;
	
	
	//Para uso com html select
	private boolean edita;
	private boolean novo;
	public boolean isNovo() {
		return novo;
	}

	private Integer id;
	
	
	public String getBairro() {
		return bairro;
	}
	
	public String getLogradouro() {
		return logradouro;
	}

	public String getNome() {
		return nome;
	}

	public String getTel() {
		return tel;
	}

	public boolean isEdita() {
		return edita;
	}
	
	public void abreNovo(ActionEvent ae){
		nome = "";
		tel = "";
		ddd = "" ;
		logradouro = "";
		bairro = "";
		cpfcnpj = "";
		edita = true;
		novo = true;
	}

	public void mostraDetalhe (ActionEvent ae) {
		String cmd = (String)ae.getComponent().getAttributes().get("cmd");
		if (cmd.equals("exibir")) {
			this.edita = false;
		}
		else if (cmd.equals("editar")) {
			this.edita = true;
		}
		this.novo = false;
		Cliente clienteSelecionado = (Cliente)UtilTela.getRequest().getAttribute("item");
		this.id = clienteSelecionado.getId();
		this.nome = clienteSelecionado.getNome();
		this.tel = clienteSelecionado.getTelefone();
		this.ddd = clienteSelecionado.getDdd();
		this.logradouro = clienteSelecionado.getEndereco();
		this.pessoa = clienteSelecionado.getTipo();
		this.cpfcnpj = clienteSelecionado.getCpfCnpj();
		this.bairro = clienteSelecionado.getBairro();
	}
	
	public void atualiza(ActionEvent ae) {
		clienteDao.atualiza(id, cpfcnpj, logradouro, nome, ddd, tel, bairro);
		UtilTela.mostraMensagem(null, "Dados alterados com sucesso", FacesMessage.SEVERITY_INFO);
		ClienteController clienteController =  (ClienteController) UtilTela.getSessionAttribute("clienteController");
		clienteController.pesquisa(ae);
	}
	
	public void grava(ActionEvent ae) {
		clienteDao.grava(cpfcnpj, logradouro, nome, ddd, tel, bairro);
		UtilTela.mostraMensagem(null, "Dados alterados com sucesso", FacesMessage.SEVERITY_INFO);
		ClienteController clienteController =  (ClienteController) UtilTela.getSessionAttribute("clienteController");
		clienteController.pesquisa(ae);
	}
	
	public AlteraExibeClienteController() {
	}
	
	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public void setLogradouro(String logradouro) {
		this.logradouro = logradouro;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public void setTel(String tel) {
		this.tel = tel;
	}

	public void setDdd(String ddd) {
		this.ddd = ddd;
	}

	public String getDdd() {
		return ddd;
	}

	public void setPessoa(String pessoa) {
		this.pessoa = pessoa;
	}

	public String getPessoa() {
		return pessoa;
	}

	public void setCpfcnpj(String cpfcnpj) {
		this.cpfcnpj = cpfcnpj;
	}

	public String getCpfcnpj() {
		return cpfcnpj;
	}
}
